A memory system may use error-correction codes (ECC) to achieve a specified level of reliability, availability, and serviceability (RAS). ECC improves RAS but adds overhead in the form of additional die area in the memory arrays for storing the bits used to implement the ECC and increased computational complexity. While RAS may be improved by using increasingly complex ECC schemes, the increased ECC complexity results in increased overhead.